package com.youlu.campus.website.service;

import com.youlu.campus.website.entity.ContactMessage;
import com.youlu.campus.website.entity.ContactMessagePageQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 联系我们留言业务逻辑层接口
 *
 * @author su
 * @date 2025/08/30
 */
public interface ContactMessageService {

    /**
     * 新增/修改留言
     *
     * @param contactMessage 留言实体
     * @return 包含操作结果的 QResult
     */
    ContactMessage saveMessage(ContactMessage contactMessage);

    /**
     * 根据 ID 删除留言
     *
     * @param id 留言 ID
     * @return 包含操作结果的 QResult
     */
    Boolean deleteMessageById(String id);

    /**
     * 根据 ID 查询留言详情
     *
     * @param id 留言 ID
     * @return 包含查询结果的 QResult
     */
    ContactMessage getMessageById(String id);

    /**
     * 分页查询留言列表
     *
     * @param pageQuery 分页参数
     * @return 包含分页查询结果的 QResult
     */
    Page<ContactMessage> findByPage(ContactMessagePageQuery pageQuery);

    /**
     * 查询所有留言列表（非分页，可根据实际需求决定是否保留）
     *
     * @return 包含查询结果的 QResult
     */
    List<ContactMessage> listAllMessages();
}